package dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import util.ConnectionHelper;

import negocio.Empresa;
import negocio.Oportunidade;

public class RepositorioOportunidade implements IRepositorioOportunidade{

	@Override
	public int cadastrarOportunidade(Oportunidade oportunidade) {
		Statement stmt  = null;
		int status = 0;
		
		
		String query = "INSERT INTO `empregosonline`.`oportunidades`"+
						"(`codigoEmpresa`,"+
						"`descricao`,"+
						"`requisitos`,"+
						"`titulo`)"+
						"VALUES"+
						"("+
						oportunidade.getEmpresa().getId()+","+
						"'"+oportunidade.getDescricao()+ "',"+
						"'"+oportunidade.getRequisitos()+"',"+
						"'"+oportunidade.getTitulo()+"'"+
						");";
		try {
			Connection con = ConnectionHelper.abrir();
			stmt = con.createStatement();
			status = stmt.executeUpdate(query);
		} catch (SQLException e) {
				e.printStackTrace();
		} finally {
			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {

					e.printStackTrace();
				}
			}
		}
		return status;
	
	}

	@Override
	public ArrayList<Oportunidade> listarOportunidadeEmpresa(Empresa emp) {


		Statement stmt  = null;
		Oportunidade op = null;
		ArrayList<Oportunidade> listaOportunidade = null;
		
		String query = "select * from oportunidades where codigoEmpresa = "+emp.getId();
		
		try {
			Connection con = ConnectionHelper.abrir();
			stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery(query);
			listaOportunidade = new ArrayList<Oportunidade>();
			while (rs.next()) {
				op = new Oportunidade();
				
				String titulo = rs.getString("titulo");
				int codEmpresa = rs.getInt("codigoEmpresa");
				String descricao = rs.getString("descricao");
				String requisitos = rs.getString("requisitos");
				int id = rs.getInt("id");
								
				op.setDescricao(descricao);
				op.setId(id);
				op.setTitulo(titulo);
				op.setEmpresa(emp);
				op.setRequisitos(requisitos);
				
				listaOportunidade.add(op);
				
			}
		} catch (SQLException e) {

		} finally {
			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {

					e.printStackTrace();
				}
			}
		}

		return listaOportunidade;
	
	}

}
